package com.xuecheng.manage_course.service;

import com.xuecheng.framework.domain.cms.response.CoursePreviewResult;
import com.xuecheng.framework.domain.course.*;
import com.xuecheng.framework.domain.course.ext.CategoryNode;
import com.xuecheng.framework.domain.course.ext.CourseView;
import com.xuecheng.framework.domain.course.ext.TeachplanNode;
import com.xuecheng.framework.domain.course.request.CourseListRequest;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.ResponseResult;

/**
 * @author Kidy
 * @date 2020/6/26 21:52
 */
public interface CourseService {

    //课程计划的查询
    public TeachplanNode findTeachplanList(String courseId);

    //添加课程计划
    public ResponseResult addTeachplan(Teachplan teachplan);

    //分页查询课程列表
    public QueryResponseResult findCourseList(Integer page, Integer size, CourseListRequest courseListRequest);

    //新增课程信息
    public ResponseResult addCourseBase(CourseBase courseBase);

    //查询课程基本信息
    public CourseBase findCourseBaseById(String id);

    //更新课程基本信息
    public ResponseResult updateCourseBase(String id, CourseBase courseBase);

    //查询课程营销信息
    public CourseMarket findCourseMarletById(String id);

    //更新课程营销信息
    public ResponseResult updateCourseMarlet(String id, CourseMarket courseMarket);

    //添加课程与图片的关联信息
    public ResponseResult addCoursePic(String courseId, String pic);

    //查询课程图片
    public CoursePic findCoursePic(String courseId);

    //删除课程图片
    public ResponseResult deleteCoursePic(String courseId);

    public CourseView getCourseView(String id);

    public CoursePreviewResult preview(String id);

    public CoursePreviewResult publish(String id);

    public ResponseResult saveMedia(TeachplanMedia teachplanMedia);
}
